To: OpenDoc Development Framework Discussion List, ODF-Interest@CILabs.
Date: 6/13/96
Subject: RE>Re: AutoScroll Time: 7:57 PM
Henri,
Thanks for you reply.
>>1) I had wanted to implement the auto scroll in such a way that it scrolls
>>faster the father the away the user drags. It appears I can get it to
>>work for drag selection and resizing, but not for dragging content. This
>>is because the FW_CDropTracker is destroyed if the user drags outside the
>>frame. As far as I can tell, there is no way around this limitation -- is
>>that correct.
>>
>This would be strange. If the user tries to drag something out of your
>part (lets say on the desktop) do you want your content to continue
>scrolling while the user is looking for a place to drop? I can imagine
>that to be very annoying. You should not have any autoscrolling during a
>drag when your are outside of the frame.
I agree this could get strange, but I had a UI I wanted to test out. My idea was to only start autoscrolling if the user paused in the autoscroll area (scrollbars, title bar, or 15 pixels from left). If the part was autoscrolling when the drag left the frame, I wanted to speed it up proportionally to how to far from the frame the user dragged. If they just dragged out of the frame without pausing in the autoscroll area, no scrolling would take place. However, there does not appear to a legal way in OpenDoc to get the mouse position during a drag if the drag is not within your part. Is that correct?
>>3) Thinking that autoscrolling to the left would be rare in my part
>>anyway, I made my AutoScrollInset -1 so that it would start scrolling 1
>>pixel outside the content view (i.e. in the scroll bars like Finder). It
>>worked fine for drag selection and resizing, but not for dragging. Any
>>idea why?
>Might be the same reason as in 1)
I looked in to this further and it is slightly different than 1. In this case, FW_DroppableFrame::DragWithIn only calls the tracker to track if it is within the content view. Fortunately, I can solve this by overriding DragWithin in my frame.